﻿using Basic.UserModel.DB;
using Basic.UserModel.User;
using Basic.UserRemoteModel;
using Basic.UserRemoteModel.User.Model;
using WeDonekRpc.Model;

namespace Basic.UserCollect
{
    public interface IUserCollect : IBaseCollect<DBUserInfo, long>
    {
        Result[] Query<Result> (UserQueryParam where, IBasicPage paging, out int count) where Result : class, new();
        long GetUserId (string loginName, LoginType type);
        long RegUser (UserAdd add);
        void SetPwd (long userId, string pwd);
        UserDatum UserLogin (long userId, string pwd);

        UserDatum UserLogin (long userId);
        bool Disable (UserStateDto user);
        void Enable (UserStateDto user);
        bool Set (UserBase user, UserSet datum);
    }
}